A memory controller comprises logic that manages the flow of data going to and from memory. The memory controller can be configured as a separate device or integrated onto the memory device itself. In whatever form, the memory controller processes Input/Output (I/O) commands that address specific memory locations in the memory to read data from and write data to the memory. Depending on the command set of the memory controller, the I/O commands can implement write operations through different ways. For example, a read-modify-write I/O command directs the memory controller to read a memory location and then write a new value to that location at once, either with a completely new value or some function of the previous value. In some instances, multiple devices may attempt to write to a same location in the memory through the memory controller at the same time. This is generally referred to as an address collision and can corrupt data within the memory.